package zzs.generalframework.console.core.parameter.commonparameter.jobtitle.service;

import java.util.List;

import zzs.generalframework.common.core.parameter.commonparameter.jobtitle.JobTitleBO;
import zzs.generalframework.common.core.parameter.commonparameter.jobtitle.JobTitleInfo;
import zzs.generalframework.console.common.exception.ConsoleException;
import zzs.generalframework.console.common.model.ConsoleReturnBO;

/**
 * @title
 * @description
 * @project zzs-console
 * @package zzs.generalframework.console.core.parameter.commonparameter.jobtitle.service
 * @author zzs
 * @date 2018年2月2日
 * @version 1.0
 */
public interface IJobTitleService
{

	/**
	 * 保存职称信息
	 *
	 * @param jobTitle
	 * @return
	 */
	public ConsoleReturnBO saveJobTitle(JobTitleBO jobTitleBO);

	/**
	 * 保存职称信息列表
	 *
	 * @param jobTitleBOList
	 * @return
	 * @throws ConsoleException
	 */
	public ConsoleReturnBO saveJobTitle(List<JobTitleBO> jobTitleBOList) throws ConsoleException;

	/**
	 * 获取职称信息
	 *
	 * @param jobTitleInfo
	 * @return
	 */
	public ConsoleReturnBO getJobTitle(JobTitleInfo jobTitleInfo);

	/**
	 * 获取职称信息列表
	 *
	 * @param jobTitleInfo
	 * @return
	 */
	public ConsoleReturnBO listJobTitle(JobTitleInfo jobTitleInfo);

	/**
	 * 更新职称信息
	 *
	 * @param jobTitleBO
	 * @return
	 */
	public ConsoleReturnBO updateJobTitle(JobTitleBO jobTitleBO);

	/**
	 * 更新职称信息列表
	 *
	 * @param jobTitleBOList
	 * @return
	 * @throws ConsoleException
	 */
	public ConsoleReturnBO updateJobTitle(List<JobTitleBO> jobTitleBOList) throws ConsoleException;

	/**
	 * 删除职称信息
	 *
	 * @param jobTitleBO
	 * @return
	 */
	public ConsoleReturnBO removeJobTitle(JobTitleBO jobTitleBO);

	/**
	 * 删除职称信息列表
	 *
	 * @param jobTitleBOList
	 * @return
	 * @throws ConsoleException
	 */
	public ConsoleReturnBO removeJobTitle(List<JobTitleBO> jobTitleBOList) throws ConsoleException;

	/**
	 * 统计职称信息
	 *
	 * @param jobTitleBO
	 * @return
	 */
	public Long countJobTitle(JobTitleBO jobTitleBO);

}
